home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / Count the 197045172001.psc / clsOpenSaveDialog.cls next >
Encoding:
Visual Basic class definition  |  2001-05-16  |  2.1 KB  |  78 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "OpenSaveDialog"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15.  
  16. Private Type OpenFileName
  17.   lStructSize As Long
  18.   hwndOwner As Long
  19.   hInstance As Long
  20.   lpstrFilter As String
  21.   lpstrCustomFilter As String
  22.   nMaxCustFilter As Long
  23.   nFilterIndex As Long
  24.   lpstrFile As String
  25.   nMaxFile As Long
  26.   lpstrFileTitle As String
  27.   nMaxFileTitle As Long
  28.   lpstrInitialDir As String
  29.   lpstrTitle As String
  30.   flags As Long
  31.   nFileOffset As Integer
  32.   nFileExtension As Integer
  33.   lpstrDefExt As String
  34.   lCustData As Long
  35.   lpfnHook As Long
  36.   lpTemplateName As String
  37. End Type
  38.  
  39. Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
  40.   "GetOpenFileNameA" (pOpenfilename As OpenFileName) As Long
  41.   
  42. Private Declare Function GetSaveFileName Lib "comdlg32.dll" _
  43.   Alias "GetSaveFileNameA" (pOpenfilename As OpenFileName) As Long
  44.   
  45. Public Enum FilterType
  46.   fText = 0
  47.   fDatabase = 1
  48.   fExcel = 2
  49.   fSystem = 3
  50.   fCustom = 4
  51. End Enum
  52.  
  53. Public Function OpenDialogBox(FormName As Form, Filter As FilterType, Optional InitialDir As String, Optional DialogTitle As String, Optional CustomFilter As String) As String
  54. '
  55. Dim ofn As OpenFileName, a
  56. Dim strInitDir As String, dlgTitle As String
  57. Dim strFilter
  58.   '
  59.   If Not IsEmpty(InitialDir) Then
  60.     strInitDir = InitialDir
  61.   Else
  62.     strInitDir = CurDir
  63.   End If
  64.   '
  65.   If Not IsEmpty(DialogTitle) Then
  66.     dlgTitle = DialogTitle
  67.   Else
  68.     dlgTitle = "Open"
  69.   End If
  70.   '
  71.   If IsEmpty(CustomFilter) And Filter = fCustom Then
  72.     Filter = fText
  73.   Else
  74.     strFilter = CustomFilter
  75.   End If
  76.   '
  77.   If Filter = fText Then
  78.     strFilter = "Text Files (*.txt)" + Chr$(0) + "*.txt" + Chr$(0) + "Log Files (*.log)" + Chr$(0) + "*.log" + Chr$(0) + "List Files (*.lst)" + Chr$(0) + "*.L=